From 67c4f8d02ebcc4846316399cda9ed386a494f11d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 23 Apr 2010 01:31:44 +0200 Subject: [PATCH] GtkCssProvider: Compare GtkWidgetPath regions with css. --- gtk/gtkcssprovider.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index e903ec5f31..93604885fd 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -384,6 +384,24 @@ compare_selector_element (GtkWidgetPath *path, return TRUE; } + else if (elem->elem_type == SELECTOR_REGION) + { + const gchar *region_name; + GtkChildClassFlags flags; + + /* FIXME: Need GQuark API here */ + region_name = g_quark_to_string (elem->region.name); + + if (!gtk_widget_path_iter_has_region (path, index, region_name, &flags)) + return FALSE; + + if (elem->region.flags != 0 && + (flags & elem->region.flags) == 0) + return FALSE; + + *score = 0xF; + return TRUE; + } else if (elem->elem_type == SELECTOR_GLOB) { /* Treat as lowest matching type */ -- 2.30.2